

def extract_xhs_url(url_text):
    """
    从文本中提取小红书链接
    :param url_text: 包含链接的文本
    :return: 提取到的链接或原始链接
    """
    import re

    # 检查是否是正常的URL格式
    if url_text.startswith(('http://', 'https://')):
        return url_text

    # 如果是包含口令信息的文本，尝试提取其中的链接
    # 匹配小红书的各种链接格式:
    # 1. http://xhslink.com/...
    # 2. https://www.xiaohongshu.com/...
    url_patterns = [
        r'http[s]?://xhslink\.com/[^\s]+',
        r'http[s]?://www\.xiaohongshu\.com/[^\s]+'
    ]

    for pattern in url_patterns:
        match = re.search(pattern, url_text)
        if match:
            extracted_url = match.group(0)
            return extracted_url

    # 如果没有找到链接，返回原始文本
    return url_text

import base64


def encode_to_base64(text):
    """
    将文本编码为base64格式
    :param text: 要编码的文本
    :return: base64编码的字符串
    """
    if isinstance(text, str):
        # 将字符串编码为字节
        text_bytes = text.encode('utf-8')
    else:
        text_bytes = text

    # 进行base64编码并转换为字符串
    base64_encoded = base64.b64encode(text_bytes).decode('ascii')
    return base64_encoded


def decode_from_base64(base64_text):
    """
    将base64编码的文本解码为原始文本
    :param base64_text: base64编码的字符串
    :return: 解码后的原始文本
    """
    try:
        # 将base64字符串解码为字节
        decoded_bytes = base64.b64decode(base64_text)
        # 将字节解码为字符串
        decoded_text = decoded_bytes.decode('utf-8')
        return decoded_text
    except Exception as e:
        print(f"解码失败: {e}")
        return None


# 测试
if __name__ == '__main__':
    str1="我在小红书收获了15次赞与收藏，来看看我的主页>> https://xhslink.com/m/1bFCJ0opJkI"
    str2="https://www.xiaohongshu.com/user/profile/68d8df0f000000002102fb21?xsec_token=YBY-F1HE4fJxyprZmmyTYONG9ZHSevTFr5naxnYXD5-qI%3D&xsec_source=app_share&xhsshare=CopyLink&shareRedId=OD5GOEdLNE82NzUyOTgwNjg0OTlKRzg6&apptime=1762326031&share_id=4756474183a9443682d3ae8d4c9054f0&share_channel=copy_link"
    print(extract_xhs_url(str1))
    print(extract_xhs_url(str2))



#     content = """
#     🧢：BUFF
# 不管是户外徒步，还是日常出街🤩
# 戴上它，时尚又百搭，轻松拿捏回头率😎
#
#
# 微信表情：
# [捂脸][阴险][菜刀][烟花][爆竹]
#
# 微软输入法表情：♥✈
#
# 微信输入法表情： 😅😇😍🤪🤩🥳😛🙃🥲😄
#     """
#
#     print("原始文本:")
#     print(content)
#
#     # 编码为base64
#     base64_encoded = encode_to_base64(content)
#     print("\nBase64编码结果:")
#     print(base64_encoded)
#
#     # 解码回原始文本
#     decoded_content = decode_from_base64(base64_encoded)
#     print("\nBase64解码结果:")
#     print(decoded_content)
#
#     # 验证编码解码是否正确
#     print("\n编码解码是否正确:", content == decoded_content)
